package com.project.web.admin.service.core;


import com.project.model.core.Role;
import com.project.web.admin.service.common.BaseService;

import java.util.List;

/**
 * Created by Administrator on 2016/4/21.
 */
public interface RoleService extends BaseService<Role, Long> {

    /**
     * 根据roleId删除roleAdmin、roleMenu的关系以及role数据
     *
     * @param roleId
     */
    void deleteRef(Long roleId);

    /**
     * 根据roleId和roleCode查询编辑页面的rolecode的唯一性
     *
     * @param role
     * @return
     */
    List<Role> validateRoleCode(Role role);

    /**
     * 根据角色对象，menuIds进行角色和权限绑定
     *
     * @param role
     * @param menuIds
     */
    void saveRoleMenu(Role role, String menuIds);

    /**
     * 根据角色对象，menuIds进行角色和权限更新
     *
     * @param role
     * @param menuIds
     */
    void updateRoleMenu(Role role, String menuIds);

    /**
     * 根据roleId查询menuIds
     *
     * @param roleId
     * @return
     */
    String selectMenuIds(Long roleId);
}
